package com.bjbn.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 廊桥_登机桥信息_模型
 */
@Data
@TableName("bridge_info")
@Schema(description = "廊桥信息实体")
public class BridgeInfo {
    
    /**
     * 主键
     */
    @TableId(value = "ID", type = IdType.INPUT)
    @Schema(description = "主键ID", example = "uuid-string")
    private String id;
    
    /**
     * 设备显示名
     */
    @TableField("DEVICE_NAME")
    @Schema(description = "设备显示名", example = "廊桥001")
    private String deviceName;
    
    /**
     * 厂家
     */
    @TableField("BRAND")
    @Schema(description = "厂家", example = "厂家A")
    private String brand;
    
    /**
     * 机位
     */
    @TableField("STAND")
    @Schema(description = "机位", example = "A01")
    private String stand;
    
    /**
     * 设备组，原名GROUP
     */
    @TableField("DEVICE_GROUP")
    @Schema(description = "设备组", example = "廊桥组")
    private String deviceGroup;
    
    /**
     * 区域
     */
    @TableField("AREA")
    @Schema(description = "区域", example = "T1航站楼")
    private String area;
    
    /**
     * 责任部门
     */
    @TableField("DEPT")
    @Schema(description = "责任部门", example = "运维部")
    private String dept;
    
    /**
     * IP
     */
    @TableField("IP")
    @Schema(description = "IP地址", example = "192.168.1.100")
    private String ip;
    
    /**
     * 端口，原名PORT
     */
    @TableField("DEVICE_PORT")
    @Schema(description = "端口", example = "8080")
    private String devicePort;
    
    /**
     * 信息系统ID
     */
    @TableField("FMIS_ID")
    @Schema(description = "信息系统ID", example = "FMIS001")
    private String fmisId;
    
    /**
     * 备注
     */
    @TableField("REMARKS")
    @Schema(description = "备注", example = "廊桥设备")
    private String remarks;
    
    /**
     * 设备状态0待机/1运行/10接机/20故障
     */
    @TableField("STA")
    @Schema(description = "设备状态：0待机/1运行/10接机/20故障", example = "1")
    private String sta;
    
    /**
     * 采集器状态0在线 1网络掉线 2设备掉线 3
     */
    @TableField("C_STA")
    @Schema(description = "采集器状态：0在线/1网络掉线/2设备掉线", example = "0")
    private String cSta;
    
    /**
     * 维修保养状态0无 1 保养 2维修
     */
    @TableField("M_STA")
    @Schema(description = "维修保养状态：0无/1保养/2维修", example = "0")
    private String mSta;
    
    /**
     * 故障状态标记0无报警 1警告 2故障
     */
    @TableField("E_FLAG")
    @Schema(description = "故障状态标记：0无报警/1警告/2故障", example = "0")
    private String eFlag;
    
    /**
     * 业务更新时间
     */
    @TableField("U_TIME")
    @Schema(description = "业务更新时间", example = "2024-01-01T10:00:00")
    private LocalDateTime uTime;
    
    /**
     * 服务器写入时间
     */
    @TableField("W_TIME")
    @Schema(description = "服务器写入时间", example = "2024-01-01T10:00:00")
    private LocalDateTime wTime;
    
    /**
     * 设备状态改变时间
     */
    @TableField("STA_TIME")
    @Schema(description = "设备状态改变时间", example = "2024-01-01T10:00:00")
    private LocalDateTime staTime;
    
    /**
     * 采集器状态改变时间
     */
    @TableField("C_STA_TIME")
    @Schema(description = "采集器状态改变时间", example = "2024-01-01T10:00:00")
    private LocalDateTime cStaTime;
    
    /**
     * 报停状态0无 1报停
     */
    @TableField("S_STA")
    @Schema(description = "报停状态：0无/1报停", example = "0")
    private String sSta;
    
    /**
     * 报停时间
     */
    @TableField("STOP_TIME")
    @Schema(description = "报停时间", example = "2024-01-01T10:00:00")
    private LocalDateTime stopTime;
    
    /**
     * 开始电量
     */
    @TableField("START_POWER")
    @Schema(description = "开始电量", example = "100%")
    private String startPower;
    
    /**
     * 行走速度
     */
    @TableField("SPEED")
    @Schema(description = "行走速度", example = "5m/s")
    private String speed;
    
    /**
     * 坡度
     */
    @TableField("SLOPE")
    @Schema(description = "坡度", example = "15°")
    private String slope;
    
    /**
     * 登机桥高度
     */
    @TableField("HEIGHT")
    @Schema(description = "登机桥高度", example = "3.5m")
    private String height;
    
    /**
     * 桥身角
     */
    @TableField("B_A")
    @Schema(description = "桥身角", example = "45°")
    private String bA;
    
    /**
     * 轮架角
     */
    @TableField("W_A")
    @Schema(description = "轮架角", example = "30°")
    private String wA;
    
    /**
     * 桥头角
     */
    @TableField("H_A")
    @Schema(description = "桥头角", example = "60°")
    private String hA;
    
    /**
     * 登机桥长度
     */
    @TableField("LENTH")
    @Schema(description = "登机桥长度", example = "20m")
    private String lenth;
    
    /**
     * 故障编码
     */
    @TableField("ERR_CODE")
    @Schema(description = "故障编码", example = "ERR001")
    private String errCode;
    
    /**
     * 信息编码
     */
    @TableField("MSG_CODE")
    @Schema(description = "信息编码", example = "MSG001")
    private String msgCode;
    
    /**
     * 操作编码
     */
    @TableField("OPT_CODE")
    @Schema(description = "操作编码", example = "OPT001")
    private String optCode;
    
    /**
     * 发送计时
     */
    @TableField("SEND_TIMER")
    @Schema(description = "发送计时", example = "1000ms")
    private String sendTimer;
    
    /**
     * 采集器状态记录id
     */
    @TableField("C_STA_HIS_ID")
    @Schema(description = "采集器状态记录ID", example = "HIS001")
    private String cStaHisId;
    
    /**
     * 状态记录id
     */
    @TableField("STA_HIS_ID")
    @Schema(description = "状态记录ID", example = "HIS002")
    private String staHisId;
    
    /**
     * 报警历史记录id
     */
    @TableField("ALERT_HIS_ID")
    @Schema(description = "报警历史记录ID", example = "HIS003")
    private String alertHisId;
    
    /**
     * 报警时间
     */
    @TableField("ALERT_TIME")
    @Schema(description = "报警时间", example = "2024-01-01T10:00:00")
    private LocalDateTime alertTime;
    
    /**
     * 确认标志-1 不用确认/0 未确认/1派工/2不派工
     */
    @TableField("ENSURE_FLAG")
    @Schema(description = "确认标志：-1不用确认/0未确认/1派工/2不派工", example = "0")
    private String ensureFlag;
    
    /**
     * 确认时间
     */
    @TableField("ENSURE_TIME")
    @Schema(description = "确认时间", example = "2024-01-01T10:00:00")
    private LocalDateTime ensureTime;
    
    /**
     * 创建时间
     */
    @TableField(value = "BN_CREATE_TIME", fill = FieldFill.INSERT)
    @Schema(description = "创建时间", example = "2024-01-01T10:00:00")
    private LocalDateTime bnCreateTime;
}
